#pragma once

class RRenderer;

class RSamplerState
{
	friend class MaterialRequest;
private:
	GLenum		m_wrapS;
	GLenum		m_wrapT;
	GLenum		m_wrapR;
	GLenum		m_minFilter;
	GLenum		m_magFilter;
	uint		m_handle;

	void		SetWrapS(GLenum n);
	void		SetWrapT(GLenum n);
	void		SetWrapR(GLenum n);
	void		SetMinFilter(GLenum n);
	void		SetMagFilter(GLenum n);

public:
	RSamplerState();
	GLenum		GetWrapS() const;
	GLenum		GetWrapT() const;
	GLenum		GetWrapR() const;
	GLenum		GetMinFilter() const;
	GLenum		GetMagFilter() const;

	uint		GetHandle() const; 
};